日志能记录系统运行时的具体状态,而自动化的日志异常检测对网络安全至关重要。针对日志语句随时间演变导致异常检测准确率低的问题,提出一种无监督日志异常检测模型LogCL。首先,通过日志解析技术将半结构化的日志数据转换为结构化的日志模板;其次,使用会话和固定窗口将日志事件划分为日志序列;再次,提取日志序列的数量特征,使用自然语言处理技术对日志模板进行语义特征提取,并利用词频-词语逆频率(TF-IWF)算法生成加权的句嵌入向量;最后,将特征向量输入一个并列的基于卷积神经网络(CNN)和双向长短期记忆(Bi-LSTM)网络的模型中进行检测。在两个公开的真实数据集上的实验结果表明,所提模型较基准模型LogAnomaly在异常检测的F1?score上分别提高了3.6和2.3个百分点。因此LogCL能够对日志数据进行有效的异常检测。
针对目前已有的基于深度学习的恶意代码检测方法提取特征不足和准确率低的问题,提出一种基于注意力机制和残差网络(ResNet)的恶意代码检测方法ARMD。为了支持该方法的训练,从Kaggle网站获取了47 580个恶意和良性代码的Hash值,并利用VirusTotal分析工具提取每个代码数据调用的API,在此之后将所调用的API整合为1 000个不重复的API作为检测的特征来构造训练样本数据;然后根据VirusTotal的分析结果进行良恶性判定进而标记样本数据,并采用SMOTE增强算法使数据样本均衡化;最后构建并训练注入注意力机制的ResNet,从而实现恶意代码检测。实验结果表明ARMD的恶意代码检测准确率为97.76%,且与目前已有的基于卷积神经网络(CNN)和ResNet模型的检测方法相比,平均精确率至少提高了2个百分点,验证了ARMD的有效性。
基于启发式和机器学习的代码坏味检测方法已被证明具有一定的局限性,且现有的检测方法大多集中在较为常见的代码坏味上。针对这些问题,提出了一种深度学习方法来检测过紧的耦合、分散的耦合和散弹式修改这三种与耦合度相关检测较为少见的代码坏味。首先,提取三种代码坏味需要的度量并对得到的数据进行处理;之后,构建卷积神经网络(CNN)与注意力(Attention)机制相结合的深度学习模型,引入的注意力机制可以对输入的度量特征进行权重的分配。从21个开源项目中提取数据集,在10个开源项目中对检测方法进行了验证,并与CNN模型进行对比。实验结果表明:过紧的耦合和分散的耦合在所提模型中取得了更好的结果,相应代码坏味的查准率分别达到了93.61%和99.76%;而散弹式修改在CNN模型中有更好的结果,相应代码坏味查准率达到了98.59%。
针对使用并行库JOMP的程序在性能方面存在的不足,提出一个可以分离并行逻辑和功能逻辑的并行框架。该框架对程序中需要并行处理的部分进行标记,采用面向方面和运行时反射技术实现被标记部分的处理,其中面向方面技术用于实现并行逻辑的分离和编织,运行时反射技术用于获取运行时被标记部分的相关信息,以并行库(waxberry)的方式实现了该并行框架。使用基准测试程序JGF套件中的三个测试程序对并行库进行了测试,实验结果表明,应用该并行库的程序可以获得较好的性能。